package com.chinatechstar.base.entity;

import com.chinatechstar.component.commons.entity.CreateEntity;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import java.util.Date;

/**
 * 基础数据-井(sys_well)
 *
 * @author Rei
 * @version 1.0.0 2020-09-17
 */
public class SysWell extends CreateEntity implements java.io.Serializable {
    /**
     * 版本号
     */
    private static final long serialVersionUID = -317480918395001418L;

    /* This code was generated by TableGo tools, mark 1 begin. */

    /**
     * 井主键ID
     */
    private Long id;

    /**
     * A2井ID（A2）
     */
    private String wellId;

    /**
     * 井关联单位ID
     */
    private Long wellOrgId;

    /**
     * 井关联单位名称
     */
    private String wellOrgName;

    /**
     * 井关联区块ID
     */
    private Long wellAreaId;

    /**
     * 井关联区块名称
     */
    private String wellAreaName;

    /**
     * 通用井名（A2）
     */
    private String wellCommonName;

    /**
     * 标准井名（A2）
     */
    private String wellLegalName;

    /**
     * 井唯一标识符（A2）
     */
    private String wellUwi;

    /**
     * 完井ID（A2）
     */
    private String wellCompletionId;

    /**
     * 生产阶段（A2）
     */
    private String wellStage;

    /**
     * 井型（A2）
     */
    private String wellReason;

    /**
     * 井别（A2）
     */
    private String wellPurpose;

    /**
     * 目的层（A2）
     */
    private String wellTargetFormation;

    /**
     * 开钻日期（A2）
     */
    private Date wellSpudDate;

    /**
     * 实施轮次
     */
    private Integer wellRounds;

    /**
     * 排序顺序，用于展示
     */
    private Integer displayOrder;

    /**
     * 租户编码
     */
    private String tenantCode;

    /**
     * 软删除（1-未删除；0-删除）
     */
    private Integer softDelete;

    /* This code was generated by TableGo tools, mark 1 end. */

    /* This code was generated by TableGo tools, mark 2 begin. */

    /**
     * 获取井主键ID
     *
     * @return 井主键ID
     */
    public Long getId() {
        return this.id;
    }

    /**
     * 设置井主键ID
     *
     * @param id 井主键ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取A2井ID（A2）
     *
     * @return A2井ID（A2）
     */
    public String getWellId() {
        return this.wellId;
    }

    /**
     * 设置A2井ID（A2）
     *
     * @param wellId A2井ID（A2）
     */
    public void setWellId(String wellId) {
        this.wellId = wellId;
    }

    /**
     * 获取井关联单位ID
     *
     * @return 井关联单位ID
     */
    public Long getWellOrgId() {
        return this.wellOrgId;
    }

    /**
     * 设置井关联单位ID
     *
     * @param wellOrgId 井关联单位ID
     */
    public void setWellOrgId(Long wellOrgId) {
        this.wellOrgId = wellOrgId;
    }

    /**
     * 获取井关联单位名称
     *
     * @return 井关联单位名称
     */
    public String getWellOrgName() {
        return this.wellOrgName;
    }

    /**
     * 设置井关联单位名称
     *
     * @param wellOrgName 井关联单位名称
     */
    public void setWellOrgName(String wellOrgName) {
        this.wellOrgName = wellOrgName;
    }

    /**
     * 获取井关联区块ID
     *
     * @return 井关联区块ID
     */
    public Long getWellAreaId() {
        return this.wellAreaId;
    }

    /**
     * 设置井关联区块ID
     *
     * @param wellAreaId 井关联区块ID
     */
    public void setWellAreaId(Long wellAreaId) {
        this.wellAreaId = wellAreaId;
    }

    /**
     * 获取井关联区块名称
     *
     * @return 井关联区块名称
     */
    public String getWellAreaName() {
        return this.wellAreaName;
    }

    /**
     * 设置井关联区块名称
     *
     * @param wellAreaName 井关联区块名称
     */
    public void setWellAreaName(String wellAreaName) {
        this.wellAreaName = wellAreaName;
    }

    /**
     * 获取通用井名（A2）
     *
     * @return 通用井名（A2）
     */
    public String getWellCommonName() {
        return this.wellCommonName;
    }

    /**
     * 设置通用井名（A2）
     *
     * @param wellCommonName 通用井名（A2）
     */
    public void setWellCommonName(String wellCommonName) {
        this.wellCommonName = wellCommonName;
    }

    /**
     * 获取标准井名（A2）
     *
     * @return 标准井名（A2）
     */
    public String getWellLegalName() {
        return this.wellLegalName;
    }

    /**
     * 设置标准井名（A2）
     *
     * @param wellLegalName 标准井名（A2）
     */
    public void setWellLegalName(String wellLegalName) {
        this.wellLegalName = wellLegalName;
    }

    /**
     * 获取井唯一标识符（A2）
     *
     * @return 井唯一标识符（A2）
     */
    public String getWellUwi() {
        return this.wellUwi;
    }

    /**
     * 设置井唯一标识符（A2）
     *
     * @param wellUwi 井唯一标识符（A2）
     */
    public void setWellUwi(String wellUwi) {
        this.wellUwi = wellUwi;
    }

    /**
     * 获取完井ID（A2）
     *
     * @return 完井ID（A2）
     */
    public String getWellCompletionId() {
        return this.wellCompletionId;
    }

    /**
     * 设置完井ID（A2）
     *
     * @param wellCompletionId 完井ID（A2）
     */
    public void setWellCompletionId(String wellCompletionId) {
        this.wellCompletionId = wellCompletionId;
    }

    /**
     * 获取生产阶段（A2）
     *
     * @return 生产阶段（A2）
     */
    public String getWellStage() {
        return this.wellStage;
    }

    /**
     * 设置生产阶段（A2）
     *
     * @param wellStage 生产阶段（A2）
     */
    public void setWellStage(String wellStage) {
        this.wellStage = wellStage;
    }

    /**
     * 获取井型（A2）
     *
     * @return 井型（A2）
     */
    public String getWellReason() {
        return this.wellReason;
    }

    /**
     * 设置井型（A2）
     *
     * @param wellReason 井型（A2）
     */
    public void setWellReason(String wellReason) {
        this.wellReason = wellReason;
    }

    /**
     * 获取井别（A2）
     *
     * @return 井别（A2）
     */
    public String getWellPurpose() {
        return this.wellPurpose;
    }

    /**
     * 设置井别（A2）
     *
     * @param wellPurpose 井别（A2）
     */
    public void setWellPurpose(String wellPurpose) {
        this.wellPurpose = wellPurpose;
    }

    /**
     * 获取目的层（A2）
     *
     * @return 目的层（A2）
     */
    public String getWellTargetFormation() {
        return this.wellTargetFormation;
    }

    /**
     * 设置目的层（A2）
     *
     * @param wellTargetFormation 目的层（A2）
     */
    public void setWellTargetFormation(String wellTargetFormation) {
        this.wellTargetFormation = wellTargetFormation;
    }

    /**
     * 获取开钻日期（A2）
     *
     * @return 开钻日期（A2）
     */
    public Date getWellSpudDate() {
        return this.wellSpudDate;
    }

    /**
     * 设置开钻日期（A2）
     *
     * @param wellSpudDate 开钻日期（A2）
     */
    public void setWellSpudDate(Date wellSpudDate) {
        this.wellSpudDate = wellSpudDate;
    }

    /**
     * 获取实施轮次
     *
     * @return 实施轮次
     */
    public Integer getWellRounds() {
        return this.wellRounds;
    }

    /**
     * 设置实施轮次
     *
     * @param wellRounds 实施轮次
     */
    public void setWellRounds(Integer wellRounds) {
        this.wellRounds = wellRounds;
    }

    /**
     * 获取排序顺序，用于展示
     *
     * @return 排序顺序
     */
    public Integer getDisplayOrder() {
        return this.displayOrder;
    }

    /**
     * 设置排序顺序，用于展示
     *
     * @param displayOrder 排序顺序
     */
    public void setDisplayOrder(Integer displayOrder) {
        this.displayOrder = displayOrder;
    }

    /**
     * 获取租户编码
     *
     * @return 租户编码
     */
    public String getTenantCode() {
        return this.tenantCode;
    }

    /**
     * 设置租户编码
     *
     * @param tenantCode 租户编码
     */
    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    /**
     * 获取软删除（1-未删除；0-删除）
     *
     * @return 软删除（1-未删除；0-删除）
     */
    public Integer getSoftDelete() {
        return this.softDelete;
    }

    /**
     * 设置软删除（1-未删除；0-删除）
     *
     * @param softDelete 软删除（1-未删除；0-删除）
     */
    public void setSoftDelete(Integer softDelete) {
        this.softDelete = softDelete;
    }

    /* This code was generated by TableGo tools, mark 2 end. */

    /* This code was generated by TableGo tools, mark 3 begin. */

    @Override
    public boolean equals(Object obj) {
        return EqualsBuilder.reflectionEquals(obj, this);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }

    /* This code was generated by TableGo tools, mark 3 end. */
}